<?php

/**
 * Auditoria filter form.
 *
 * @package    tercermilenio
 * @subpackage filter
 * @author     Your name here
 */
class AuditoriaFormFilter extends BaseAuditoriaFormFilter {

    public function configure() {

        $this->widgetSchema['aud_registro']->setOption('with_empty', false);
        $this->widgetSchema['aud_usuario']->setOption('add_empty',true);
$this->widgetSchema['aud_fecha']->addOption('template', 'Desde %from_date%<br/>Hasta %to_date%');

        $this->widgetSchema['aud_tabla']->setLabel('Tabla');
        $this->widgetSchema['aud_registro']->setLabel('Registro');
        $this->widgetSchema['aud_fecha']->setLabel('Fecha');
        $this->widgetSchema['aud_usuario']->setLabel('Usuario');
        $this->widgetSchema['aud_movimiento']->setLabel('Movimiento');
    }

    public function setup() {
        parent::setup();

        $tablas = array('Todas','Usuarios', 'Grupos', 'Perfiles');
        $movimientos = array('Todos','Alta', 'Baja', 'Modificación');

        $this->setWidgets(array(
            'aud_tabla' => new sfWidgetFormChoice(array('choices' => $tablas)),
            'aud_registro' => new sfWidgetFormFilterInput(),
            'aud_campo' => new sfWidgetFormFilterInput(),
            'aud_fecha' => new sfWidgetFormFilterDate(array('from_date' => new sfWidgetFormJQueryDate(array('format' => '%day%/%month%/%year%')), 'to_date' => new sfWidgetFormJQueryDate(array('format' => '%day%/%month%/%year%')),'with_empty'=> false)),
        'aud_usuario' => new sfWidgetFormPropelChoice(array('model' => 'sfGuardUser', 'add_empty' => true)),
            'aud_movimiento' => new sfWidgetFormChoice(array('choices' => $movimientos)),
        ));

        $this->setValidators(array(
            'aud_tabla' => new sfValidatorPass(array('required' => false)),
            'aud_registro' => new sfValidatorSchemaFilter('text', new sfValidatorInteger(array('required' => false))),
            'aud_campo' => new sfValidatorPass(array('required' => false)),
            'aud_fecha' => new sfValidatorDateRange(array('required' => false, 'from_date' => new sfValidatorDate(array('required' => false)), 'to_date' => new sfValidatorDate(array('required' => false)))),
            'aud_usuario' => new sfValidatorPropelChoice(array('required' => false, 'model' => 'sfGuardUser', 'column' => 'id')),
            'aud_movimiento' => new sfValidatorPass(array('required' => false)),
        ));

        $this->widgetSchema->setNameFormat('auditoria_filters[%s]');

        $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
    }

}
